From 221b43f35776f6397a1e52802d6391488401facb Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Fri, 14 Sep 2007 16:10:08 +0100 Subject: [PATCH] x86: fix NUMA code for 32bit I don't know how significant this is (most of the NUMA node data seems unused at this point), but anyway: enable proper operation of NUMA emulation and the fake NUMA node in case there's no SRAT table on x86-32. This will at least make the "Faking node ..." message not print confusing information anymore. Signed-off-by: Jan Beulich --- xen/arch/x86/numa.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c index 386234fd47..e80a3995a1 100644 --- a/xen/arch/x86/numa.c +++ b/xen/arch/x86/numa.c @@ -139,15 +139,15 @@ void __init numa_init_array(void) static int numa_fake __initdata = 0; /* Numa emulation */ -static int numa_emulation(unsigned long start_pfn, unsigned long end_pfn) +static int numa_emulation(u64 start_pfn, u64 end_pfn) { int i; struct node nodes[MAX_NUMNODES]; - unsigned long sz = ((end_pfn - start_pfn)< 1) { - unsigned long x = 1; + u64 x = 1; while ((x << 1) < sz) x <<= 1; if (x < sz/2) @@ -190,17 +190,17 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn) #endif #ifdef CONFIG_ACPI_NUMA - if (!numa_off && !acpi_scan_nodes(start_pfn << PAGE_SHIFT, - end_pfn << PAGE_SHIFT)) + if (!numa_off && !acpi_scan_nodes((u64)start_pfn << PAGE_SHIFT, + (u64)end_pfn << PAGE_SHIFT)) return; #endif printk(KERN_INFO "%s\n", numa_off ? "NUMA turned off" : "No NUMA configuration found"); - printk(KERN_INFO "Faking a node at %016lx-%016lx\n", - start_pfn << PAGE_SHIFT, - end_pfn << PAGE_SHIFT); + printk(KERN_INFO "Faking a node at %016"PRIx64"-%016"PRIx64"\n", + (u64)start_pfn << PAGE_SHIFT, + (u64)end_pfn << PAGE_SHIFT); /* setup dummy node covering all memory */ memnode_shift = 63; memnodemap[0] = 0; @@ -209,7 +209,7 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn) for (i = 0; i < NR_CPUS; i++) numa_set_node(i, 0); node_to_cpumask[0] = cpumask_of_cpu(0); - setup_node_bootmem(0, start_pfn << PAGE_SHIFT, end_pfn << PAGE_SHIFT); + setup_node_bootmem(0, (u64)start_pfn << PAGE_SHIFT, (u64)end_pfn << PAGE_SHIFT); } __cpuinit void numa_add_cpu(int cpu) -- 2.30.2